package com.lightkits.wms.domain.saleticket;

import com.lightkits.common.db.entity.WmSaleTicketLine;
import com.lightkits.common.db.entity.WmSalesTicket;
import com.lightkits.framework.common.model.CheckResult;
import com.lightkits.wms.dto.saleticket.model.SaleTicketHeadDto;
import com.lightkits.wms.dto.saleticket.model.SaleTicketLineDto;
import com.lightkits.wms.dto.saleticket.model.UpSaleTicketHeadDto;
import com.lightkits.wms.dto.saleticket.model.UpSaleTicketLineDto;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 售货单参数创建
 *
 * @author jing.wei@hand-china.com
 * @date 2019/5/31 6:35
 **/
@Component
public interface CreateSaleParamsService {
    /**
     * 售货单头的创建
     *
     * @param headDto
     * @return
     **/
    WmSalesTicket createSaleHead(SaleTicketHeadDto headDto);

    /**
     * 售货单头的创建
     *
     * @param headDto
     * @return
     **/
    WmSalesTicket createSaleHead(UpSaleTicketHeadDto headDto);

    /**
     * 创建售货单行
     *
     * @param lineDtos 售货单行参数
     * @param headId   售货单头ID
     * @param currency 货币
     * @return
     **/

   List<WmSaleTicketLine> createSaleLine(List<SaleTicketLineDto> lineDtos,
                                                       Long headId,
                                                       String currency);

    /**
     * 创建售货单行
     *
     * @param lineDtos 售货单行参数
     * @param headId   售货单头ID
     * @param currency 货币
     * @return
     **/
   List<WmSaleTicketLine> createSaleLines(List<UpSaleTicketLineDto> lineDtos,
                                                        Long headId, String currency);


}
